*, *:before, *:after {
  box-sizing: border-box;
}
body, input, textarea, select, button {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -moz-font-feature-settings: "liga", "kern";
}
html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-overflow-scrolling: touch;
}
img {
  width: 100%;
  display: block;
}
table {
  width: 100%;
  empty-cells: show;
  border-spacing: 0;
  border-collapse: collapse;
  background-color: transparent;
}
.font-serif, .text-serif {
  font-family: Georgia,"Times New Roman",Times,SimSun,FontAwesome,serif;
}
.font-kai, .text-kai {
  font-family: Georgia,"Times New Roman",Times,Kai,"Kaiti SC",KaiTi,BiauKai,FontAwesome,serif;
}
.font-monospace, .text-monospace {
  font-family: Monaco,Menlo,Consolas,"Courier New",FontAwesome,monospace;
}
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin: 0;
  font-size: 1em;
  line-height: calc(1em + 8px);
  font-weight: normal;
}
.text {
  word-wrap: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.text2 {
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.btn {
  display: inline-block;
  vertical-align: middle;
  background: none;
  color: inherit;
  text-align: center;
  border: 1px solid transparent;
  text-decoration: none;
  -webkit-user-select: none;
  user-select: none;
}
.input {
  display: block;
  flex-grow: 1;
  color: #555;
  font: inherit;
  line-height: 1;
  background: none;
  padding: .5em 1em;
  border: 1px solid #ccc;
  border-radius: .1em;
}

.nav, .list {
  padding: 0;
  margin: 0;
  list-style: none;
}
.scroller {
  overflow-x: hidden;
  overflow-y: auto;
}
[hidden], template {
  display: none;
}
.hide, .template {
  display: none !important;
}
.source {
  position: absolute;
  left: -9999em;
}
.disabled, [disabled] {
  pointer-events: none;
  user-select: none;
}
.disabled.grey {
  filter: grayscale(1);
  opacity: .8;
}
.clear:before, .clear:after {
  content: "";
  display: table;
}
.clear:after {clear: both}
.seo-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.container {
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .container { width: 750px; }
}
@media (min-width: 992px) {
  .container { width: 970px; }
}
@media (min-width: 1200px) {
  .container { width: 1170px; }
}
[class*="col-in"] > * {
  position: relative;
  min-height: 1px;
}
[class*="col-in-"]:before, 
[class*="col-in-"]:after {
  content: "";
  display: table;
}
[class*="col-in-"]:after {clear: both}
[class*="col-in-"] > * {
  float: left;
}
.col-in-2 > div {width: 50%}
.col-in-3 > div {width: 33.33333333%}
.col-in-4 > div {width: 25%}
.col-in-5 > div {width: 20%}
.col-in-6 > div {width: 16.66666667%}

.flex-tabs {
  display: flex;
}
.flex-tabs > .tab {
  flex-grow: 1;
  flex-shrink: 0;
}

.gap-mt > :not(:first-child) {margin-top: 1rem;}
.gap-mt-m > :not(:first-child) {margin-top: .5rem;}
.gap-mb > :not(:last-child) {margin-bottom: 1rem;}
.gap-mb-m > :not(:first-child) {margin-bottom: .5rem;}
.gap-ml > :not(:first-child) {margin-left: 1rem;}
.gap-ml-m > :not(:first-child) {margin-left: .5rem;}
.gap-mr > :not(:last-child) {margin-right: 1rem;}
.gap-mr-m > :not(:last-child) {margin-right: .5rem;}

.cover {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
}

.panel {
  display: flex;
  flex-direction: column;
}
.panel-head,
.panel-foot {
  flex-shrink: 0;
}
.panel-body {
  flex-grow: 1;
}


.ratio {
  position: relative;
  width: 100%;
}
.ratio:before {
  content: "";
  padding-top: 100%;
  display: block;
}
.ratio > .img {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.ratio > img,
.ratio > iframe,
.ratio > video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ratio.slide:before {
  padding-top: 75%;
}

.list {
  display: flex;
  flex-wrap: wrap;
}
.list-item {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  overflow: hidden;
}
.list-image {
  position: relative;
  width: 100%;
  flex-shrink: 0;
}
.list-image:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.list-image.normal::before {
  padding-top: 56.25%;
}
.list-image.slide::before {
  padding-top: 75%;
}
.list-image > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.list-content {
  flex-grow: 1;
  overflow: hidden;
}
.list-name,
.list-desc {
  min-height: 1em;
}
.list-sort,
.list-other {
  flex-shrink: 0;
}
.list-state {
  font-size: .8em;
  text-align: center;
  color: #ccc;
  width: 100%;
  line-height: 3em;
}
.list-state.load::before {
  content: '数据加载中...';
}
.list-state.empty::before {
  content: '-- The End --';
}
.list-state.none {
  display: none;
}

.pure {
  padding: 0;
  color: inherit;
  font: inherit;
  line-height: inherit;
  border: none;
  background: none;
  flex-shrink: 0;
}
.pure:focus {
  outline: none;
}
button:active {
  opacity: .8;
}
.round {
  border-radius: 100%;
  background: #d28baa;
}
img {
  user-select: none;
  pointer-events: none;
}
.center-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}